JavaScript
part 21/23 Β· 89.0 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
alert(monInstance.maPropriete2); // affiche 5
SΓ©paration des instructions
En C, chaque instruction se termine par un point-virgule. Cette pratique
a fait du point-virgule une obligation dans de nombreux langages
inspirΓ©s de la syntaxe du C.
JavaScript est plus souple, permettant Γ une fin de ligne de marquer
implicitement la fin d'une instruction. Le but est de faciliter l'usage
du langage aux personnes inexpΓ©rimentΓ©es en programmation informatique.
Mais cette souplesse introduit des effets inattenduscite-ref-32[32] :
return
true;
Le parseur comprend cela comme deux instructions :
return;
true;
Les expressions de fonctions immΓ©diatement invoquΓ©es lorsque le
programmeur s'appuie sur les fins d'instruction implicites rencontrent
également ce genre de problème avec l'usage des parenthèses :
maVariable1 = maVariable2 + maVariable3
(function () {
// code
})()
est traitΓ© comme
maVariable1 = maVariable2 + maVariable3(function () { /* code */ })();
Les ouvrages de programmation avancΓ©s en JavaScript mettent en garde
contre les effets inattendus de la dΓ©duction automatique de fin
d'instruction et conseillent d'Γ©crire un point-virgule Γ la fin de
chaque instruction, ce qui n'empΓͺche pas les surprises lorsqu'on oublie
le point-virgule, d'autant plus quand la compression du code impose le
retrait des retours chariot.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ